﻿using System;

namespace DatabaseGroup.SSIS.SourceAdapters.View
{
    /// <summary>
    /// Defines functionality relating to the Audit tab of the Editor view
    /// </summary>
    public interface IEditorAuditView : IEditorBaseView
    {
        /// <summary>
        /// Indicates the log source datatype has been updated
        /// </summary>
        event EventHandler LogSourceDataTypeUpdated;

        /// <summary>
        /// Indicates the error source datatype has been updated
        /// </summary>
        event EventHandler ErrorSourceDataTypeUpdated;

        /// <summary>
        /// Binds the controls contained on the audit tab to the provided settings object
        /// </summary>
        /// <param name="settings">The values to apply to the controls</param>
        void BindAuditTab(AuditTabSettings settings);

        /// <summary>
        /// Changes the availability for the error source size
        /// </summary>
        /// <param name="inputIsAvailable">True if the input should be made available to the user</param>
        void SetErrorSourceSizeAvailability(bool inputIsAvailable);

        /// <summary>
        /// Changes the availability for the log source size
        /// </summary>
        /// <param name="inputIsAvailable">True if the input should be made available to the user</param>
        void SetLogSourceSizeAvailability(bool inputIsAvailable);
    }
}
